Ball falling from stairs
A basic example from WL library on solving differencial equations and animating the result
Download original notebookballsteps = NDSolve[{x''[t] == 0, y''[t] == -9.8, y[0] == 6, y'[0] == 0, x[0] == 0, x'[0] == 1, a[0] == 5, WhenEvent[Mod[x[t], 1] == 0, If[a[t] > 0, a[t] -> a[t] - 1, "RemoveEvent"]], WhenEvent[ y[t] == a[t], {x'[t], y'[t]} -> .9 {x'[t], -y'[t]}]}, {x, y, a}, {t, 0, 15}, DiscreteVariables -> {a}]; trajectory = {x, y} /. ballsteps[[1]]
{(*VB[*)BoxForm`temporalStorage$590706(*,*)(*"1:eJxdkUuPmlAAhW2nTZr+inZWipMoMqA0mYU4PEVAEAQms+BxeXmB4XUB/9T8xWqX3Xw55+Tsvt9+qUcPk8mk+XkDG6ZtWVsp6I3PL5OJWLSg/iih16ZFzHVF0KZl8TbFLOYNm/2aYk/YbIo94n+ANIamicv9cnusrXksxglg2M2eTFKJCkBOwOpUwlSU1No1bCeNzwaxFsFqQa9dHR433Jl7vsoDqS5UHhnJxcoJAmQ4fdJ2JSkg5eIFsrnskmogbHWnOmNnHSrk4mViiMrcIH2rPe6pfS17ASm68cfe7FMgy+wyKUu+6VGqU+ar6DRVMYCsYaNGWzvZkNYLSbQQQ8eWY2SVoPbGdYdakFdLnK4R7Yf8aog8dBVp6mKPg1sFtgaq40Zi4bNfuWN8mNs5EeR8SJtMbx9W2Zo3BUEh4AHk3IG3lL7abDSX6ljSOWlCJq2VZQI7W4wYU9k3+Jw6Nn7njO3ZTa42HQpZbjteInssozflBSEQzbdJpUS03p23PW8ifmvkr9cFEE8Exyy07cvL493Bu8Vgs/fo693jtxv0DgLjxz0AL1QLOP5bT3UH/vvcpRsAgqD1fAia77fKebABfwEqqKfI"*)(*]VB*),(*VB[*)BoxForm`temporalStorage$590831(*,*)(*"1:eJxdkUuTmkAAhE02qUrlV2z2pLBVig8eucGKii9keIatPTAwvB2QGYL4l/Inoznm8lV3V5+6f8AKxE+DwYB8v0ONMlo1ToY688+nwUDDFDV1VQY0w8mqxSHNKvw+ZBzlnRk9D5lXZjRkXrifaNtHts3tu4ls5A6baEmKFFXcLdJ8W3aY82tiX22tsENJJ4LeF3rv3mwIY1YiWn9BWS6LPuVF7OGlR65OD8Poyp71N8BzKA0PLlQ7g5x1QcrX63D1ax9EO8qzM7c6igYHOWhQHlhWTOrKSi6lO2lNc2G3BHWnm3Kh+wrjC1nIubjQ7BaEm82+A8lisxmbqZ6k2ZteVWtFIOpBWvuV1Ug09psZnClS4SVAcE6/7Z7TdOvIBjK7PWT+Qa1h5y53t4ZaS9Be5Pkeh7WfNiB1pSyZbZzT3JkKWcuqRbua48CG1zkfE97ohaYASepe3WDsbyUh83tem2WSIHKsCyJwXnvG5Bio1VSMPDqFrFyTwzjICZE7fRWrMiVxyYpGsbQ86fTy2P/DUZjRR/z58eGXO0BbIvPbQ6Ag0nHZ/0utpkX/dR6Hm6hEIQ1gicjXu10FJUF/ATgLpe4="*)(*]VB*)}
Now animate the solution
staircase = Plot[Clip[Floor[6 - x], {0, Infinity}], {x, -1, 15}, Filling -> 0, Exclusions -> None]
(*VB[*)(FrontEndRef["e15c088c-7209-47ef-ab18-9d1664f4be5b"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKpxqaJhtYWCTrmhsZWOqamKem6SYmGVroWqYYmpmZpJkkpZomAQCAmBWu"*)(*]VB*)
Animate a ball
Module[{ frame = CreateUUID[], pos = {0.,0.}, t = 0. }, EventHandler[frame, Function[Null, pos = #[t] &/@ trajectory; t = If[t >= 15.0, 0., t + 0.1]; ]]; Show[staircase, Graphics[{ (*VB[*)(RGBColor[1, 0, 0])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeGJAIcndyzs/JLwouTyxJzghJzS3ISSxJTWMGyXMgyRcxgMEHeyiDgQHOAAALpBNd"*)(*]VB*), Disk[pos // Offload, 0.12] }], Epilog->{ AnimationFrameListener[pos // Offload, "Event"->frame] }] ]
(*VB[*)(FrontEndRef["7347446e-0005-421d-bb87-19ab4cd80b82"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxubmJuYmKXqGhgYmOqaGBmm6CYlWZjrGlomJpkkp1gYJFkYAQBwjxUK"*)(*]VB*)